
float ultimoX,ultimoY;
float direccion=0.0;
int longitudPatos=30;

PatoAntiguo pato1;
Pato pato2;

void setup(){
  size(displayWidth,displayHeight);
  pato1=new PatoAntiguo(0,0,longitudPatos);
  
  PVector pos=new PVector(100,100);
  pato2=new Pato(pos,longitudPatos);
}

void draw(){
  background(0);
  calcularDireccion();  
  pato1.draw(direccion);
  pato2.draw(direccion);
}

//Vuela detrás del mouse
void mouseDragged(){
  pato1.x=ultimoX;
  pato1.y=ultimoY;
  
  pato2.pos=new PVector(ultimoX-50,ultimoY-50);
}

//Calcula la dirección del movimiento basado en la última posición
void calcularDireccion(){
  float dx = mouseX - ultimoX;
  float dy = mouseY - ultimoY;
  direccion = atan2(dy,dx);
  ultimoX=mouseX-(cos(direccion)*longitudPatos);
  ultimoY=mouseY-(sin(direccion)*longitudPatos);
}
